CloudWatch Alarm で高解像度のメトリクス監視をしているアラームを一覧で確認する方法を教えてください
困っていた内容
いくつかの CloudWatch Alarm で高解像度のメトリクス監視を行っていますが、アラームが増えて利用料金が上昇しているため、高解像度の設定になっているアラームを特定して設定を見直したいです。どうすれば一覧で確認できますか。
「Amazon CloudWatch アラームを使用する」より引用
高解像度メトリクスでアラームを設定する場合、10 秒または 30 秒の期間で高解像度アラームを指定するか、60 秒の倍数の期間で通常のアラームを設定できます。高解像度のアラームには高い料金が発生します。
どう対応すればいいの?
まずマネジメントコンソールからは、以下の箇所で確認できます。 上記に引用した通り「期間」が 60 秒未満( 10 秒や 30 秒など)になっているものが、高解像度の監視アラームです。
しかしアラームが多数あると、一つずつ画面を確認していくのは大変ですよね。
そこで、CLI コマンドを使用して一覧で確認してみました!
AWS CLI で高解像度の監視アラームを特定してみた
まずは cloudwatch describe-alarms
コマンドで確認します。
$ aws cloudwatch describe-alarms
出力例
上記の出力内の「Period」がマネジメントコンソール上の「期間」に該当するため、この値が 60 未満のアラームを確認すればよいわけです。 これで複数のアラームを一度に確認できますね!
けど、もっと見やすくしたい!という方のために、grep でアラーム名と期間の行のみを抜き出してみました。
$ aws cloudwatch describe-alarms | grep -e \"AlarmName\" -e \"Period\"
出力例
これなら多数あるアラームの中で、どれが高解像度監視のアラームか一目瞭然ですね!
さらにコマンドを工夫すれば「"Period"が 60 未満のアラーム(= 高解像度の監視アラーム)のみ表示する」なども出来そうですね。 参考になれば幸いです!
参考資料
Amazon CloudWatch アラームを使用する
describe-alarms — AWS CLI 1.19.85 Command Reference